Mobile instrument, viewing device, and methods of processing and storing information

ABSTRACT

A method of transferring information stored in a mobile instrument, the information including a first information file containing metadata and a pointer indicative of a first auxiliary file address; and first auxiliary file containing image information, the first auxiliary file being located at the first auxiliary file address. The method includes the steps of: storing the metadata in a second information file; storing the image information in a second auxiliary file at a second auxiliary file address; generating a second pointer indicative of the second auxiliary file address; and storing the second pointer in the second information file. The instrument includes a camera; one or more spatial sensors; and an external sensor port. Power to the sensors can be controlled asynchronously. Various parsing methods are also described. The instrument includes a marker module configured to superimpose a marker on the image.

FIELD OF INVENTION

The invention relates to various improvements relating to theacquisition, processing, and/or transferring of information, typicallyfor surveying or similar purposes. The information typically includesimage information and spatial information. The spatial information mayinclude distance information, global position information and/ororientation information. The invention is typically, although notexclusively, implemented in a mobile instrument. The invention alsorelates to a viewing device which provides a marker superimposed on theviewed image.

BACKGROUND OF INVENTION

Instruments are known which combine a digital camera and distance meteror range finder such as a laser range finder, and which are intended tobe hand held or tripod or monopod mounted in use. Such instruments mayalso be associated with a GPS receiver and a compass, in order to recordwhen an image of a subject is taken by the camera, the position of thecamera or person operating the camera, the direction in which the camerais aimed, the distance to the subject or target, and the inclination tothe subject or target See for example www.mdl.co.uk.

SUMMARY OF INVENTION

A first aspect of the invention provides a method of processing andstoring information in a mobile instrument, the method including:receiving metadata; storing the metadata in an information file in themobile instrument; receiving image information from a camera; storingthe image information in an auxiliary file at an auxiliary file addressin the mobile instrument; generating a pointer indicative of theauxiliary file address; and storing the pointer in the information file.

The first aspect enables the image information and metadata to be storedin the mobile instrument in different file formats, whilst retaining alink between the image information and the metadata (in the form of thepointer). It also enables the metadata to be linked with one or morefurther items of information (such as further images, or sound data). Inthis case the method further includes receiving further information;storing the further information in one or more further auxiliary filesat one or more further auxiliary file addresses; generating one or morefurther pointers each indicative of a respective further auxiliary fileaddress; and storing the further pointer(s) in the information file.

The metadata may be any data which is desirable to record and associatewith the image information. For instance the metadata may be time/dateinformation; input information received from a human user; or spatialmetadata such as distance, global position and/or orientationinformation.

The image information from the camera may be still or moving imageinformation.

A potential problem with the method of the first aspect of the inventionis that the pointer may no longer be valid when the auxiliary file ismoved to a different file address.

Accordingly, a further aspect of the invention provides a method oftransferring information stored in a mobile instrument, the informationincluding a first information file containing metadata and a pointerindicative of a first auxiliary file address; and a first auxiliary filecontaining image information, the first auxiliary file being located atthe first auxiliary file address, the method including the steps of:storing the metadata in a second information file; storing the imageinformation in a second auxiliary file at a second auxiliary fileaddress; generating a second pointer indicative of the second auxiliaryfile address; and storing the second pointer in the second informationfile.

A further aspect of the invention provides a method of obtaininginformation including: acquiring image information from a camera;acquiring input information from a human user; acquiring spatialmetadata from a spatial sensor; and associating the image informationwith the input information and the spatial metadata.

This aspect of the invention enables a user to input information in thefield shortly before or after acquiring the image information. The inputinformation enables the survey data to be categorised, filed andsearched. The information may be input by speaking into a microphone,via a keypad or touch-sensitive screen, or by any other human inputdevice.

The spatial metadata may be any spatial data of use in a surveyingprogramme. For instance the spatial metadata may relate to the positionand/or orientation of the camera (such as its tilt, azimuth bearingand/or inclination bearing), or may relate to the relative distancebetween the camera and an object in its field of view.

A further aspect of the invention provides a mobile instrumentincluding: a camera; one or more spatial sensors; and a port able to beconnected, when in use, to an external sensor from which the instrumentmay obtain further information.

The external sensor port can be used to obtain further information froman external sensor which is not integrated with the instrument. Thisminimises the size and weight of the instrument, whilst allowingflexibility. The external sensor can then be disconnected after use. Theexternal sensor may be connected physically or via a wireless link.

A further aspect of the invention provides a method of operating amobile instrument, the instrument including two or more measuringdevices, the measuring devices including a camera and one or morespatial sensors: the method including asynchronously controlling thesupply of power to at least two of the measuring devices.

This aspect of the invention minimises power consumption by ensuringthat each device is only turned on when necessary. This aspect of theinvention also provides a mobile instrument including: two or moremeasuring devices including a camera and one or more spatial sensors; afirst power switch operable to control power to one or more first onesof the measuring devices; a second power switch to control power to oneor more second ones of the measuring devices; and a power controllercapable of asynchronously operating the first and second power switches.

A further aspect of the invention provides a viewing device forproviding an image of a field of view, the device including a markermodule configured to superimpose a marker on the image, the markerincluding a plurality of image elements including a first element, and asecond element having visual content which contrasts with the firstelement.

This aspect of the invention provides a marker which is visible againsta variety of background images. The first element contrasts with someportions of the background image, and the second element contrasts withother portions. This ensures that at least one of the elements isvisible, regardless of the content of the background image.

The invention is of use in a variety of viewing devices, including butnot limited to a distance or angle measuring device, or a rifle sightingdevice.

The elements may radiate from a common central region (for instance across or star shape). However preferably the lines do not intersect atthe common central region, whereby the image can be viewed in thecentral region.

Typically the elements are arranged in an alternating pattern, such as arandom pattern or a chequerboard pattern.

In preferred embodiments the marker is superimposed electronically on adigital image, and the marker module is implemented in software. Howeverthe invention may be useful in a device in which the marker is providedas a reticle located in the focal plane of the viewer (for instanceblack and white markings printed onto a lens of an analog camera orrifle sight).

A further aspect of the invention provides an instrument including twoor more sensors; two or more identical generic parsers; and two or moredescription files, each containing description data describing anassociated sensor, wherein each generic parser is configured to receivesensor information from a respective sensor and description data from arespective description file, parse the sensor information in accordancewith the description data to generate parsed sensor information, andoutput the parsed sensor information.

The two sensors are typically selected from the group consisting of acamera, distance meter, global position sensor, and orientation sensor(such as an electronic compass).

A further aspect of the invention provides an instrument including twoor more sensors; two or more identical request interpreters; and two ormore description files, each containing description data describing anassociated sensor, wherein each request interpreter is configured toreceive a request relating to a respective sensor, interpret the requestin accordance with the description data to generate an interpretedrequest, and output the interpreted request to its respective sensor.

The two sensors are typically selected from the group consisting of acamera, distance meter, global position sensor, and orientation sensor(such as an electronic compass).

A further aspect of the invention provides a mobile instrumentincluding: a camera and a distance meter mounted within a body of theinstrument, a mirror pivotally mounted within the body of the instrumentand towards which the camera and distance meter are directed, andadjustment means enabling a user to pivotally move the mirror to alterthe aim angle of the camera and distance meter from the instrumenttogether, without moving the body of the instrument.

The following comments apply to all aspects of the invention.

The sensors and camera are typically all integrated into a single mobileinstrument. That is, the instrument has a body, and the camera andsensors are carried in or on the body. Typically the instrument is ahandheld instrument.

In the preferred embodiments the mobile instrument includes anelectronic compass arranged to indicate to a central processing and datarecording system of the instrument the compass direction in which thecamera is aimed, a GPS receiver arranged to indicate to the centralprocessing and data recording system the position of the instrument.

In the preferred embodiments the instrument has a dedicated laserdistance meter (LDM) for measuring relative distance between theinstrument and a target. However, it will be appreciated that instead ofusing a dedicated LDM, relative distance may be measured by using a pairof spaced cameras, and measuring distance on stereoscopic principles, asdescribed in US6083353. In this case, the image information and thedistance information are both acquired by the pair of cameras. Thereforethe term “distance meter” referred to in the claims should be construedaccordingly.

A similar principle can be applied to the GPS sensors. That is, insteadof having a GPS sensor for measuring position, and an electronic compassfor measuring orientation (for instance azimuth and inclination of thedevice), the position and orientation could be acquired using threespaced-apart GPS sensors. The term “orientation sensor” should beconstrued herein accordingly.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is further described with reference to the accompanyingfigures which illustrate two preferred forms of instrument by way ofexample and without intending to be limiting. In the figures:

FIG. 1 shows a first instrument from the exterior.

FIG. 2 shows use of the instrument by a user.

FIG. 3 is a schematic cross-section through the instrument.

FIG. 4 is a basic block diagram showing the major parts of theinstrument.

FIG. 5 schematically shows the camera and distance meter modules andaiming mirror within the body of the instrument from one side.

FIG. 6 shows the camera and distance modules and aiming mirror in thedirection of arrow A in FIG. 5.

FIG. 7 shows a second instrument from the exterior.

FIG. 8 is a basic block diagram showing the major parts of the secondinstrument.

FIG. 9 is a basic block diagram showing a first power control scheme.

FIG. 10 is a basic block diagram showing a second power control scheme.

FIG. 11 is a basic block diagram showing a third power control scheme.

FIG. 12 is a basic block diagram showing a specific implementation ofthe third power control scheme.

FIG. 13 is a basic block diagram showing a fourth power control scheme.

FIG. 14 is a basic block diagram showing a fifth power control scheme.

FIGS. 15-19 show different crosshair patterns.

FIG. 20 is a process diagram showing the file transfer process.

FIG. 21 a is a block diagram showing a first parsing system.

FIG. 21 b is a block diagram showing a second parsing system.

FIG. 21 c shows in detail the LDM parser.

FIG. 22 shows the Request Interpreter workflow.

FIGS. 23 and 24 show four Communicator workflows.

FIG. 25 shows two workflow diagrams involving the Data Buffer, namelythe appending of data from the device into the buffer, and the readingand subsequent discarding of messages.

FIG. 26 shows the workflow of the Generic Parser.

DETAILED DESCRIPTION OF PREFERRED FORMS

Referring to FIGS. 1 to 4, an instrument according to a first embodimentof the invention combines a digital camera module 30, distance metermodule 31, electronic compass module 36 and GPS receiver module 37 as asingle integrated unit. The instrument is intended to be hand held inthe field as shown in FIG. 2, or may be tripod or monopod mounted. Theinstrument includes a central processing and data recording system whichcontrols and integrates the functions of the sensor modules. When theinstrument is aimed at a subject and an image taken the instrument aswell as recording the digital image records the position of theinstrument via the GPS receiver module 37, and the direction (azimuthand elevation) and distance from the instrument to the subject. When oneor more images are subsequently downloaded from the instrument to berecorded or manipulated on a PC for example, associated with each imageis a metafile of this data. Thus image processing or manipulationsoftware such as ESRI's ArcGIS suite may calculate the position of thesubject as well as having an image of the subject.

The subject may be a natural geographic feature, a manmade feature suchas a building or pylon or similar, a tree etc, where it is desired torecord an image and information on the subject for survey purposes.Alternatively the instrument may be used for recording a series ofimages at a crime or accident scene for example. The series of imagestaken by a user moving around the scene and the information associatedwith each image may be used to reconstruct a 3D virtual scenereplicating the crime or accident scene or a part of the scene.Alternatively the instrument may be used to record an image of cables orpipes or similar in the ground or in any other situation, before anaccess hole is filled in, and the metafile associated with the imagewill record the exact position of the cables or pipes.

The instrument comprises a body 1 which preferably houses the modules ofthe instrument as a single integrated unit. In the preferred form thebody 1 also mounts a PDA 2 such as an iPAQ™ device, which receives andstores the metafile information associated with each image taken. Thedisplay screen of the PDA also displays the target towards which theinstrument is directed and thus provides a viewfinder aim function, andsettings of the instrument are controlled through the PDA. Alternativelythe PDA 2 may be a purpose designed computing platform that has portionsof the sensor modules integrated into it.

Within the body 1 of the unit, mounted to a frame or similar within theinterior of the unit are the camera and laser distance meter modules 30and 31. The output laser of the distance meter 31 is directed towards amirror 32 which is pivotally mounted within the body of the instrumentas shown, so that the mirror directs the laser from a windowed aperturein the body of the instrument through which the laser and camera aredirected. The camera 30 is also directed towards the mirror 32, so thata subject towards which the camera and laser distance meter are targetedwill be recorded by the camera when an image is taken using theinstrument.

To shift the aim of the instrument in a vertical plane it is notnecessary for the whole instrument itself to be reoriented by the user.Typically where an instrument is hand held, the user looking through aview finder of the instrument must tilt the whole instrument up or downas well as tilting the users head at the same time. In the instrument ofthe invention the mirror 32 is pivotally mounted and, adjustment meansis provided enabling the user to pivotally move the mirror to alter theaim angle of the camera and distance meter from the instrument together,without moving the body of the instrument.

An adjustment wheel 33 is provided which is mechanically coupled to anaxle 34 pivotally mounting the mirror, and a peripheral portion of theadjustment wheel 33 is exposed through an aperture 35 in the body of theinstrument. The adjustment wheel is positioned so that it can be movedby a thumb of a user holding the instrument in two hands. In use theinstrument is held vertically on a monopod 4 as shown in FIGS. 1 and 2for example, and adjustments in the aim of the instrument in thevertical plane can be made by adjusting the position of the mirror 32via the thumb wheel 33.

In an alternative form instead of being directly coupled to the mirroraxis 34 the thumb wheel or other form of adjuster may be coupled via agear or gears to provide finer adjustment for example. Alternatively theangular position of the mirror may be varied by an electric motorcoupled to the mirror 32 or a mounting system for the mirror, which isin turn controlled via a thumb wheel or any other suitable control meanssuch as an up-down rocker button or similar.

The coupling between the adjustment wheel and the mirror may optionallyinclude a slip clutch arrangement so that when the mirror reaches itsstop the adjustment wheel may still move, but provide tactile feedbackto the user that the mirror has stopped moving.

The instrument also incorporates an electronic compass 36 and a GPSreceiver 37 which includes a GPS dome 37 a in the top of the body of theinstrument, and a central processing and data recording system whichrecords the position of the instrument and direction and distance to thesubject when an image is taken. A rotation angle meter 38 is coupled tothe mirror axis 34 to indicate to the control system the angularposition of the mirror relative to a known reference plane.

While the preferred form instrument combines a camera, distance meter,electronic compass, and GPS receiver, in a simpler form the instrumentmay combine simply a camera and distance meter. The mirror 32 is used todeflect the aim of the camera and laser distance meter towards thesubject.

The electronic compass 36 employs a magnetic field sensor to measure theearth's magnetic field strength in the plane of the sensor. If thesensor is tilted then the change in the magnetic field measurement willdepend on the global position of the instrument, as the direction of theearth's magnetic field changes over the globe, (vertical at the magneticpoles, horizontal in-between them). The component of the earth'smagnetic field useful for navigation purposes is the projection of thevector onto the plane tangent to the earth's surface. Therefore if theelectronic compass has only one sensor, then the compass must be keptprecisely in the horizontal plane. The provision of a tilting mirror 32enables the instrument to be kept in the horizontal plane.

However by combining three magnetic field sensors and two inclinometersin the compass 36, a tilt compensated compass bearing can be found. Toautomatically account for the tilt of the compass 36, and the varyingslope of the magnetic field, three magnetic field sensors may bearranged to measure in the x, y and z direction, thereby finding thedirection in space of the magnetic field sensor. The compass platform'sdeviation from level is found by a pair of inclination sensors alignedwith the compass x and y sensors. An example of such a compass is AOSI'sEZ-Tilt 3, http://www.aositilt.com/Compass.htm.

Although three field sensor compasses such as the AOSI's EZ-Tilt 3 donot require the compass to be horizontal, the use of a mirror 32 isstill advantageous, as the compass still has best performance whenhorizontal or near horizontal. All the other sensors in the compass justcompensate for tilt, so if their input can be reduced, by constrainingthe allowable tilt, then the compass will perform better. Also, tiltsensors provide best results around a certain point, usually associatedwith level. Their output quality degrades as the angle increases.

In summary, in the instrument of FIGS. 1-6 the camera, distance meterand compass are aligned so that they point in the same direction, andvertical angle deflection is achieved by rotating the mirror on themirror axle axis. The change of vertical deflection is twice the mirrorangle by virtue of the laws of reflection.

The geometry of the device must allow for the mirror to fully reflectthe views of the distance meter and camera for all mirror angles.

Viewfinder aim function maybe achieved by looking at the output of thedigital camera on the control computer.

The digital camera 30 can provide a fast succession of images, allowingreal-time viewing of the target to the control computer screen. It canalso capture a single frame for the computer. The digital picture, beingprecisely aligned and calibrated with the other sensors, has the sameattributes as the laser distance meter—azimuth bearing, inclination, GPSposition.

As the camera is viewing the subject through a mirror, the outputpicture will be reversed in one axis. In the configuration shown, it istop—bottom reversed. This can be corrected in the camera, or in thecontrol software.

The mirror angle meter measures the angle of the mirror with respect tothe frame. The angle meter maybe set up so that it outputs an angle ofzero degrees when the output beam is horizontal, and the mounting frameis plumb. The deflected angle will be twice mirror movement angle.

The compass, which is fixed to the frame, must be located so that anymaterial that distorts the earth's magnetic field has the least effecton the compass, or are fixed in place so that their impact may beminimised by the compass's internal hard and soft iron calibrationroutines.

The compass measures the earths magnetic field in the x, y and z axis.It also measures the compass platform deviation from plumb in the x andy axis. The tilt measurement combined with the three sensor compassmeasurement provides an accurate compass bearing even for a non-levelcompass board. The raw platform tilt measurements provide informationfor electronically levelling the device.

The GPS receiver 37 measures the position of the instrument The accuracyof the GPS receiver may be enhanced using differential systems. Thereference of the GPS receiver is the phase centre of the GPS antenna.

The microprocessor 39 is connected to all of the measurement devices andpolls the sensors for data. It also displays an electronic viewfinder tofacilitate aiming of the device.

When the device is aimed at the target, a ‘measure’ button 6 is pressedand the control computer takes the following data from all the sensors:

-   -   Position of the Unit (GPS)    -   Distance (Laser Distance Meter)    -   Azimuth bearing (Electronic tilt compensated compass)    -   Mirror Angle    -   Platform tilt from plumb (Tilt sensors on compass)    -   Digital picture of target    -   Time/date of measurement

These measurements, along with calibration coefficients frommanufacture, are processed to provide the location of the target, and apicture. The processed data, and if required the raw data, is stored inthe control computer's memory, possibly in a GIS database.

Optionally the instrument may be arranged to take a series of images orvideo of a subject, and record the data for the video segment or foreach frame of the image series.

The instrument may also be configured to record audio information via amicrophone, such as a sound byte or audio annotation from the user, toaccompany the image or images and metafile information.

The instrument also includes a port 39 for connection of anotherexternal device from which the instrument may obtain further informationand append additional information to the metafile information associatedwith each image or image series.

An instrument according to a second embodiment of the invention is shownin FIGS. 7 and 8. The connections between the components are omitted inFIG. 7 for clarity, but are shown in FIG. 8. The instrument has ahousing 50 which contains an IPaq™ PDA 51 with a touch-sensitive displayscreen 52, keypad 53, antenna 54 and USB port 73. The PDA 51 includes acentral processing platform 60 shown in FIG. 8, data storage 61, andwireless modem 62 (for controlling the antenna 54). A power supply andcontrol module 55 (shown in FIG. 7) includes a battery 63, and powercontrol circuitry 64 (shown in FIG. 8). An external I/O port 56 includesa socket (not shown) for receiving a cable connected to an externaldevice. The external I/O port is coupled to an RS232 serial data line 65and a power line 66 (shown in FIG. 8). This allows the recording ofinformation from a sensor not integrated contained in the housing 50,for example a depth sounder, pH meter, thermometer etc. The port 56 maybe replaced by an alternative physical port (such as a USB) or by awireless connection (such as a Bluetooth or Wireless Lan port).

The instrument includes a laser distance meter 67, compass 68, GPSreceiver 69, camera 70, microphone 71 and speaker 72 (not shown in FIG.7).

The power to each sensor 67-70 (and also to any external sensors, notshown, which might be connected to the external I/O port 56) iscontrolled asynchronously by software on the central processing platform60, in conjunction with the power control circuitry 64. This allows thesoftware to switch the various sensors on only when they are required togive data, thus saving power consumption from the internal battery 63.

The power control circuitry 64 may be implemented in a number ofdifferent ways, and five examples are shown in FIGS. 9 to 14.

In the example of FIG. 9, the power control circuitry 64 comprises amicrocontroller 70 and an array of five electronic switches 74. Themicrocontroller 70 receives a quiescent current (of the order ofmicro-amps) from battery 63 at all times. The microcontroller 70 isconnected to a serial I/O port of the central processing platform 60 viaa control line 75, and to each of the switches 74 by a respectivedigital line 73. The central processing platform 60 issues start andstop commands via the control line 72. Thus for example, if a useroperates keypad 53 to request a distance reading to be taken, then thecentral processing platform 60 issues a “start LDM” command to themicrocontroller 70 via the control line 75. The microcontroller 70 thenopens switch 74 coupled to the LDM 67, causing the LDM to be connectedto the battery 63 and power up. When the LDM 67 has taken a reading, thecentral processing platform 60 issues a “stop LDM” command and theswitch is closed. Similarly, each other sensor 68-70 (and any externalsensor which might be connected to the external I/O port 56) can beindependently powered on or off in this way.

In the example of FIG. 10, instead of providing a separate powermicrocontroller 70, a microprocessor 80 housed in the LDM 67 is utilizedto both operate all LDM functions, and also to perform the power controlfunctions performed by the microcontroller 70 in FIG. 9. If necessary,parts of the LDM 67 which are not necessary for power control functionsmay be turned off when readings are not required from the LDM. Comparedwith FIG. 9, the system of FIG. 10 required fewer serial ports, and doesnot require the additional processor 70. Instead of using the LDM 67 asshown in FIG. 10, another sensor (such as the GPS sensor 69) may be usedif it has suitable onboard processing.

If the quiescent current drawn by the LDM 67 (or other sensor) is toohigh, then the alternative power control system shown in FIGS. 11 and 12may be used. In this case, an activity detector 82 is connected to aserial line 81 in parallel with the microprocessor 80. When any activityis sensed on the serial line 81, the activity detector trips amonostable 83. The monostable 83 then activates an OR-gate 84 to turn onan electronic switch 85, which in turn powers up the LDM 67. When theLDM is fully powered up, control line 86 goes high and the LDM remainspowered up after the monostable 83 goes low. Thus the time constant ofthe monostable is set to be sufficiently long to give time for the LDM67 to power up. After it has performed its required function (that is,after it has taken a reading, or turned on or off one of the othersensors), the LDM 67 can be turned off by issuing a “stop LDM” commandon the serial line 81. Thus in the embodiment of FIG. 11, the LDM can befully turned off, so draws no quiescent current

The control system of FIG. 11 may be implemented as shown in FIG. 12.Monostable 83 is implemented as an RC-circuit comprising resistor 90 andcapacitor 91. OR-gate is implemented by a transistor 92, and switch 85is implemented by a transistor 93 in parallel with a resistor 94.

In the example of FIG. 13, the control system constitutes an array ofswitches 95 which are each connected directly to the central processingplatform 60 (or a system embedded close to it) by a respective controlline 96.

In the example of FIG. 14, the central processing platform is providedwith an array of universal asynchronous receiver-transmitters (UARTs)97. Each UART 97 has a number of pins including a receive/transmit line98 and a DTR line 99. The DTR lines 99 are spare handshaking lines whichcan be digitally controlled by the central processing system 60 via theMicrosoft Windows™ Win32 API interface. Each receive/transmit line 98 iscoupled to the data port of a respective sensor, and each DTR line iscoupled to a respective power switch 100. The method of FIG. 14 ispreferred because it is simple, and allows connection to standard serialports.

When aiming the instrument at a target, the field of view of the camera70 is displayed on the screen 52. The camera 70 and LDM 67 are alignedto minimise parallax error in the horizontal plane, and parallel in thevertical plane. As a result, the LDM 67 is directed at a fixed datumposition in the field of view. In order to indicate the datum position,the central processing platform 60 digitally superimposes a crosshair onthe camera's video stream prior to display, centred at the datumposition.

A variety of different crosshair patterns are shown in FIGS. 15 to 19.In the example of FIG. 15, four straight black lines 110-113 arearranged in an offset cross configuration. Four straight white lines114-117 are each arranged adjacent to and parallel with a respectiveblack line. The black lines 110-113 tend to be more visible againstlight tone subjects, and the white lines 114-117 more visible againstdark tone subjects in the background image.

The black and white lines of FIG. 15 may be improved upon by insteadproviding eight lines 120-127 with alternating black and white portionsarranged in a chequerboard fashion as shown in FIG. 16. This methodgives a more defined structure to the crosshairs. The thickness of thelines, length of the black and white segments and the black/whitealternating ratio depends on the size and resolution of the displayscreen 52.

The lines in FIGS. 15 and 16 are arranged in an offset crossconfiguration. This offset can make it difficult for a viewer toprecisely discern the datum position at the centre of the cross. Also,the lines at the central region of the cross can block the view of asmall target.

These problems can be addressed by the crosshairs of FIGS. 17 and 18,which are identical to FIGS. 15 and 16, except that the central region128 from which the lines radiate is empty. As a result the backgroundimage is visible in the central region.

If the computational resource is available, the visual content (colourand/or brightness) of each line in the crosshair can be changeddynamically to suit the scene to be photographed. However, preferablythe colour and/or brightness is fixed.

Instead of providing a regular alternating pattern as shown in FIGS.16-18, each line can alternate randomly between the black and whiteportions.

In a fifth example shown in FIG. 19, a white cross 130 is surrounded bya black border 131. The inverse of FIG. 19 could also be used.

The instrument can record many types of data: including text input fromkeypad 53, input from touch-sensitive screen 42, images from camera 70(for instance in .jpg or .bmp format), sounds from microphone 71 (forinstance in .wav format), GPS position data from GPS receiver 69, andbearing and inclination data from compass 68.

A typical data reading is taken as follows:

-   -   1. User points instrument at desired target    -   2. User presses key on keypad 52 to take reading    -   3. Instrument acquires image and (optionally) sound data    -   4. Instrument acquires spatial metadata associated with the        image, including        -   a. Position of the Unit (GPS)        -   b. Distance (Laser Distance Meter)        -   c. Azimuth bearing (Electronic tilt compensated compass)        -   d. Platform tilt from plumb (Tilt sensors on compass)    -   5. Instrument acquires time/date of measurement associated with        the image    -   6. Instrument acquires human user input metadata associated with        the image. This is acquired by asking a sequence of questions        which are answered by the human user via keypad 52 or        touch-sensitive screen 53. The questions might be for example:        -   a. What is the name of the article for this reading? The            user is presented with a menu of items to select from, such            as:            -   i. power-pole            -   ii. transformer            -   iii. road        -   b. The user is then presented with a series of further            questions, depending on the answer given in a For example if            the user answers ‘i. power pole’, then they may be asked:            -   i. How many cross bars does the power pole have?            -   ii. How many insulators does the power pole have?            -   iii. What is the physical condition of the insulators                (on a scale of 1-10)?

The sequence of questions in item 6 above are answered when the user isat the scene.

Leaving interpretation of the gathered information to a later date isnot preferable as the user may have forgotten the exact details. This isespecially a problem when many similar objects are measured, forinstance power poles. The answers to subjective questions (for instancequestion 6.b.iii.) can also be verified later with reference to therecorded image.

The metadata recorded in steps 4, 5 and 6 above is stored in aninformation file 140 shown in FIG. 20. The information file may forinstance be a text file or a spreadsheet file. The sound and image datais typically in a different format and is not practical to include inthe information file. For example the image file may be in a standardformat such as .jpg or .bmp, so it may be more useful to store the imageas a separate file. Therefore the image data associated with theinformation file 140 is saved in a first auxiliary file 141 and thesound data associated with the information file 140 is saved in a secondauxiliary file 142. If desired, further images may be acquired of thesame target (for instance, views from different angles), and stored inthird, fourth etc auxiliary files. The information file 140 contains apointer to each associated auxiliary file 141,142 etc. For instance thepointer to first auxiliary file 141 might be xyz/1.jpg and the pointerto the second auxiliary file 141 might be xyz/1.wav.

After the user has acquired a series of information files and associatedauxiliary files, the user may wish to upload the data to a new location.This is done by a transfer program 143, typically running on an externaldevice (such as a personal computer).

Before executing a transfer, the transfer program 143 receives a set ofrules from a rules program 144. For instance the rules program 144 mayspecify a set of rules related to a database structure, which determinehow the information files and auxiliary files are sorted based on type,size, name, or date.

The process flow of the transfer program is as follows:

-   -   1. Receive user input which points the transfer program to an        existing information file    -   2. Determine a new location for the information file based on        the rules from the rules program    -   3. Read information file via USB port 73 or wireless modem 62,        looking for pointers to auxiliary files    -   4. Determine a new location for all of the auxiliary files        pointed to by the information file, based on the rules from the        rules program    -   5. Find auxiliary files and copy or move the auxiliary files to        the new locations determined in steps 2 and 4    -   6. Update the information file with the new locations of the        auxiliary files.

For instance, the file paths given above may be updated to abc/1.jpg anddef/1.wav.

-   -   7. Save the information file to the new location (see item 140′        in FIG. 20)    -   8. Save the auxiliary files to their new locations (see items        141′ and 142′ in FIG. 20)    -   9. Verify the new files 140′-142′ and erase the old files        140-142 if required

The transfer program ensures that the pointers in the new informationfile 140′ are valid, and enables the rules program to re-order theauxiliary files 141′, 142′ if required.

Data in the information files 140 or 140′ (such as the time/date data,or the human user input metadata) can be used for subsequent searching.For instance a search engine might seek all information files (andassociated auxiliary files) relating to power poles, or relating topower poles having insulators having a condition rated below 5 on ascale of 1 to 10.

FIG. 21 a is a schematic overview of a first parser system. Anapplication 200 and an array of four dedicate parsers 201-204 are run onthe central processing platform 60. The description of FIG. 21 acontains certain terms which are defined below.

A specialised ASCII notation is used. It arises because there are 256distinct characters that can be sent to/from a device. Many of thesecharacters are easily recognised and human recognisable, such as thelower case letters a-z, the upper case letters A-Z and numbers 0-9.However, there are a number of other characters which are not so easilydisplayed. These include the common ‘carriage return’ and ‘line feed’duo.

In the specialised ASCII notation, all characters that are easilyrecognised are shown as their character, so an ‘A’ is still an ‘A’ and a‘1’ is still a ‘1’. But all other characters are denoted by theircharacter value (0 to 255) in square brackets; so [13] is a ‘carriagereturn’ and ‘line feed’ is [10].

Hence the string: “PON[13]”, which turns the power mode of the Laserfrom stand-by to full power, consists of the characters ‘P’, ‘O’, ‘N’and a ‘carriage return’.

A ‘Regular Expression’ is something that allows pattern matching. Forexample, if you knew a device reading ended with decimal point followedby two numbers. You could use regular expressions to say you werelooking for the following footer:

.\d\d

where “\d” stands for any digit. This would match “0.98” but not “0.9a”or “ . . . ”

Examples of the regular expressions are as follows:

-   -   \[xyz] A character set. Matches any one of the enclosed        characters. For example, “[abc]” matches the “a” in “plain”.    -   \[a-z] A range of characters. Matches any character in the        specified range. For example, “[a-z]” matches any lowercase        alphabetic character in the range “a” through “z”.    -   \ Marks the next character as either a special character or a        literal. For example, “n” matches the character “n”. “\n”        matches a newline character. The sequence “\\” matches “\” and        “\(” matches “(”.    -   \d Matches a digit character. Equivalent to [0-9].    -   \D Matches a non-digit character. Equivalent to [Â0-9].    -   \n Matches a newline character.    -   \r Matches a carriage return character.    -   \xmn Matches mn, where mn is a hexadecimal escape value.        Hexadecimal escape values must be exactly two digits long. For        example, “\x41” matches “A”. “\x041” is equivalent to “\x04” &        “1”. Allows ASCII codes to be used in regular expressions.    -   \x[010506] Allows a set of ASCII values    -   \x[01-06] Allows a range of ASCII characters    -   \. Matches any single character

An “ATL COM DLL”, is an ‘Active Template Library’ ‘Component ObjectModel’ ‘Dynamic Linked Library’. This is a component that provides anapplication writer with a set of libraries they can use from withintheir own application, simplifying their job.

Returning now to a description of FIG. 21 a, the LDM 67, compass 68 andGPS 69 are typically “of-the-shelf” devices which are intended by theirmanufacturers for stand alone use. For example, when hooked up to adesktop or laptop computer, it is a simple job for a user using aterminal emulation programme to use the LDM to calculate distances. Thistask need not be automated. In other words, a user can just set the LDMup, request a one-shot measurement and write down the measurement foruse at a later date. The instruction manual for the LDM, as is typicalfor this kind of device, has explicit instructions for this type of useand the data sent and retrieved is explicitly made human readable.

However, the instrument of FIG. 7 requires that this ‘data collection’be automated, and that the instrument can collate the simultaneous datafrom the GPS, Laser, and Compass, and use this data to work out theposition of a target. As a result, each device is provided with adedicated parser. For instance the LDM has a dedicated LDM parser 201which sends instructions to the LDM and retrieves and record the datafrom the responses.

The LDM parser 201 performs the following functions:

-   -   1. Create connection to the LDM    -   2. Send request for a measurement    -   3. Identify when a complete message has arrived    -   4. Get the distance measurement out of the message    -   5. Repeat steps 2 through 4 as required    -   6. Sever the connection

For the LDM, this requires:

-   -   1. Opening the appropriate RS-232 COM Port with the appropriate        connection parameters    -   2. Sending the sting “D[13]” to request the measurement    -   3. Assembling the string, the reply being of the format        “DIST:XXX.XU[13][10]”, where XXX.X is the numerical distance        measurement to 1 decimal place, U is either ‘m’, ‘y’ or ‘f’,        depending on the units being used, and [13][10] is a ‘carriage        return’ followed by a ‘line feed’.    -   4. ‘Deciphering’ the message, to get the “XXX.X” bit out and        converting this to a number.    -   5. Closing the appropriate RS-232 COM Port.

The LDM parser 201 runs on a Pocket PC 2002 device such as a CompaqIPAQ. The two main development environments for this device are asfollows:

-   -   1. Microsoft Embedded Visual Basic v3.0 (eVB)    -   2. Microsoft Embedded Visual C++v3.0 (eVC)

The eVB environment is familiar to programmers who use Microsoft VisualBasic 6.0 on the desktop computer. It requires only a low level ofprogramming ability and is an easy language to produce ‘proof ofconcept’ type work, but is characterised by very poor performance interms of:

-   -   High memory usage    -   Slow execution times

This is particularly significant on Pocket PC devices which do not havethe processing power or vast memories of their modem desktop computercounterparts.

By contrast eVC requires a far higher level of programming ability butuses far less memory and runs much faster.

It is also possible to write an application in eVB that uses eVCcomponents to do ‘the donkey work’; the things that require minimalquantities of memory and or fast execution times.

The LDM parser 201 may be written in eVB. However, if the LDM is not inone-shot mode but in ‘streaming’ mode (where it takes a reading 20 timesper second (20 Hz) and sends the result to the ‘host’, in this case thePocket PC device), the LDM parser 201 may not be able to keep up withthe work it is required to do.

This result is particularly important given that the overall goal is toproduce a program that integrates not just the LDM but other RS-232devices also. If an eVB programme cannot manage one device, there wouldbe no way that it would be capable of managing three simultaneously.

Therefore, the LDM parser 201 incorporates an ‘ATL COM DLL’ written ineVC that does part of the job. This requires an interface between theeVB application and the eVC component.

The eVC component manages the creating and severing of the connection tothe LDM on instruction form the eVB application. The eVB applicationstill manages the ‘deciphering’ of the message, the main difference withthe “solely eVB” method being that the eVB application receives ‘chunks’of data—maybe several characters or a whole message at once, rather thanone character at a time.

The compass parser 202 incorporates a further ‘ATL COM DLL’ which iswritten to provide an interface to a compass. This is a slightlydifferent case as instead of receiving one piece of data per message, asis the case with the LDM, the Compass 68 provides three pieces of data,Bearing, Pitch and Roll, with every reply.

The following is an example compass string:

$R-2.61P1.08T21.5C43.9

In this example, the Roll=−2.61, Pitch=1.08 and the Bearing=43.9. Thethird parameter is not useful to the device.

The parser in the eVB application for the compass first has to find thebeginning of the string, which it does by looking for the “$R”combination. The Roll is detected by finding the “P” in the string andconverting what is between the “R” and “P” into a number, which may bepositive or negative. Similarly, the Pitch is given by the stringbetween the “P” and the “T”.

To reliably get the Bearing, it has to be known that this is alwaysmeasured to 1 decimal place, which means that the decimal point could bethe character looked for after the “C”, and that the Bearing is theconversion of the data between the “C” and the character one after thedecimal place.

The next device to be dealt with in this way is the GPS. The GPS coulduse one of two standard type data ‘protocols’. These are known as:

-   -   NMEA (National Marine Engineering Association)    -   CMC (Canadian Marconi Company) Binary

The following string is an example of the ‘NMEA’ protocol string thatmay be received from the GPS.

$GPGGA,234016.01,4115.22415,S,17445.34868,E,1,06,1.3,176.2,M,19.0,M,*7F

The string starts off with the “$GP” header, which indicates the type ofGPS this data is from. The “GGA” following this indicates that thismessage is a one-shot GPS position information string. After this allthe parameters associated with this message type follow, delimited bycommas. The ones of particular interest to the device are the Latitude,which is 41° 15.22415″ (S)outh, and Longitude which is 174° 45.34868″(E)ast. The string ends with a “*” followed by a checksum, which in thiscase is “7F”.

Detecting the string ‘header’ is a matter of looking for the combination“$GPGGA”. The end of the string is acquired by the appearance of 14subsequent commas (not necessarily consecutive) followed by a “*”, theend of the string being exactly two characters later.

This presents the new challenge of having parameters that are no longerjust numbers, the “S” and “SE” standing for “South” and “East”respectively.

The equivalent string in CMC binary protocol looks like this:

[1][21][234][79][32][47][0][0][0][129][204][64][186][4][226][240][242][154][181][58][82][193][182][203][42][125][176][167][26][65][52][102][196][137][236][242][79][193][216][193][127][189][110][203][143][60][23][10][250][187][41][142][62][137][9][145]Bytes Description Unit Type  5..12 GPS Time range: Seconds long float0.0..604800.0 13..14 Week Weeks word 15..22 X Position in GPS Meterslong float units 23..30 Y Position in GPS meters long float units 31..38Z Position in GPS meters long float units 39..42 X Velocity in GPSmeters per short float units second 43..46 Y Velocity in GPS meters pershort float units second 47..50 Z Velocity in GPS meters per short floatunits second 51..58 Z Velocity in GPS meters per short float unitssecond 59..66 Clock Drift seconds/ long float second 67..70 HFOM metersshort float 71..74 VFOM meters short float 75..76 HDOP resolution: 0.1N/A word units 77..78 VDOP resolution: 0.1 N/A word units 79 NAV ModeN/A N/A (see message #20, byte 71 for the description) 80 bits 0..3: Nbof N/A N/A SV used to compute this solution bits 4..7 Reserved 81..83Reserved N/A N/A

An alternative approach uses the CMC binary protocol. In this case theGPS parser 203 needs to:

-   -   1. Receive constantly streaming GPS position data, so at any        given moment it is known if a GPS fix was available    -   2. Receive constantly streaming GPS Satellite data, so that at        any given moment it is possible to view the GPS Satellite        constallation, and hence have a good idea:        -   a. How long it will be until a better GPS fix can be            acquired        -   b. What can be done (in terms of moving the instrument) to            increase the likelihood of getting a GPS fix

This means two things: firstly, the parser would have to be moved intothe eVC component; and secondly, the eVB application is far too slow toperform the required ‘deciphering’ at the rate the GPS streams data.

An alternative parsing system is shown in FIG. 21 b. The purpose of thesystem is to allow a user to quickly and simply be able to communicatewith their device, whatever connection their device happens to use andwhatever way their device happens to work.

The dedicated parsers 201-204 are replaced by a parser 210 and arespective device description file 211-214. Each parser 210 isidentical. By way of example, the LDM system is shown in FIG. 21 c.

FIG. 21 c includes the following components

-   -   1. The Application 200. This application can instruct the Parser        210 to send requests for information to the LDM 67. The Parser        210 in return raises events in the application when this request        is met, and tells the application where to find this data.    -   2. The LDM 67.    -   3. The Device Description File (DDF) 211 that describes the LDM        67

The DDF contains the rules for using the device, including:

-   -   Connection type (e.g. IEEE 802.11b) and associated parameters    -   Messages that can be sent to the device    -   How to identify messages that can be received from the device    -   Parameters within those messages    -   4. The Parser 210.

The parser 210 deals with all information that flows between theapplication and the Device via data gathered from the Device DescriptionFile.

The parser 210 consists of five components. These are:

-   -   1. A Request Interpreter 220 which interprets requests for data        made by the application 200    -   2. A Communicator 221, which controls communicates with the        device 67    -   3. A Data Buffer 222, which is the repository for data that is        received from the device    -   4. A Generic Parser 223 which identifies individual messages        within the Data Buffer 222    -   5. A Reply Interpreter 224, which interprets these identified        messages, and passes the results to the Application 200.

The Request Interpreter 220 takes a request for a message to be sent tothe device, determines what data has to be sent and passes this data tothe communicator for sending.

FIG. 22 shows the basic workflow involving the Request Interpreter,assuming no errors.

The Request Interpreter follows a set of Request Interpreter rules. TheDevice Description File 211 includes a numbered list of each of the‘requests’ or ‘commands’ that can be sent to the device. The applicationmakes a request for data by referring the request/command by number orname. For example, a Laser has the following command set in a DeviceDescription File: Message # Message Name Message Effect Data Sent 1Reading Take a one-shot D[13] reading 2 Status Get Laser Status X[13] 3Counts On Turn Counts mode on CON[13] 4 Counts Off Turn Counts mode offCOFF[13] 5 Tracking Off Turn Tracking Mode TON[13] on 6 Tracking On TurnTracking Mode TOFF[13] off 7 Fast On Turn Fast Mode on FON[13] 8 FastOff Turn Fast Mode off FOFF[13] 9 Control 1 On Turn on control line 11ON[13] 10 Control 1 Off Turn off control line 1 1OFF[13] 11 Control 2On Turn on control line 2 2ON[13] 12 Control 2 Off Turn off control line2 2OFF[13] 13 Control 3 On Turn on control line 3 3ON[13] 14 Control 3Off Turn off control line 3 3OFF[13] 15 Units Meters Change measure modeUM[13] to “Meters” 16 Units Feet Change measure mode UF[13] to “Feet” 17Units Yards Change measure mode UY[13] to “Yards” 18 Full Power Switchto Full Power PON[13] Mode 19 Stand by Switch to Stand by POFF[13] Mode[13] stands for a ‘Carriage Return’, or ASCII 13.

An application using this device wanting a ‘one-shot reading’ would senda request to the Parser 210 for message #1 or ‘Reading’. The RequestInterpreter 220 would look up message #1 or ‘Reading’ and find “D[13]”as the data to be sent, and send this to the Communicator 221. TheRequest Interpreter 220 would also flag to the interpreter that a replyfrom this message was expected.

The role of the communicator 221 is four-fold. It performs the followingdistinct functions:

-   -   1. Establish a connection with the device and initialise the        device    -   2. Send data to the device    -   3. Receive data from the device    -   4. De-initialise the device and severe the connection

The basic workflows for each of the functions, assuming no errors, areshown in FIGS. 23 and 24.

The Communicator 221 follows a set of Communicator Rules 231 discussedbelow. The Device Description File specifies the device's connectiontype (which could be RS-232, USB, Bluetooth, or any other connectiontype). It also includes a list of the device's connection parameters.For the LDM for example, these include:

-   -   The connection type is RS-232.    -   COM Port number is 5    -   Baud-Rate is 9600 baud.    -   Number of data-bits is 8.    -   Number of stop bits is 1    -   Parity is set to “No Parity”    -   No Initialisation message is required    -   No De-initialisation message is required

The purpose of the Data Buffer 222 is to allow the Communicator 221 toput data into a place where it can be read asynchronously by the GenericParser 223. It has to be large enough so that there is no opportunityfor buffer overrun due to:

-   -   The size of the received messages being too big    -   Data arriving to quickly before it can be processed

Several different buffering techniques are applicable here. For examplea circular buffer or a double buffer could be used.

There are two key processes involving the Data Buffer. These are:

-   -   1. Appending of data from the device into the buffer    -   2. Reading and subsequent discarding of messages

The two work flow diagrams shown in FIG. 25 illustrate these twoprocesses, and the statuses of the buffer at each point.

The function of the Generic Parser 223 is to examine the Data Bufferbetween the two pointers DataWritten and DataRead, and to determine ifthere is a valid message therein. When it finds a message, the DataReadpointer is updated to the end of the message and the message is sent tothe ‘Reply Interpreter’.

The Generic Parser is run when either of the following conditions aremet:

-   -   Every time ‘x’ milliseconds pass since the last execution    -   After every ‘y’ characters have arrived from the device

The Generic Parse 223 has the work flow shown in FIG. 26.

The Generic Parser 223 follows Generic Parser rules 232 discussed below.For each type of reply that the Device Description File describes, thefollowing information is required:

-   -   Does the reply have a known header format?        -   If so, what is this?    -   Does the reply have a known footer format?        -   If so, what is this?    -   Does the reply have a known fixed width?        -   If so, what is this?    -   The headers and footers may contain certain ‘regular        expressions’, as defined in the definitions.

Once the message has been identified by the Generic Parser 223, the datain it needs to be extracted. This is the job of the Reply Interpreter224. The Reply Interpreter uses information pertaining to the messageidentified from the Device Description File to determine:

-   -   Where each data parameter starts and ends within the message    -   What data ‘type’ each parameter is

When it has done this each parameter is put into an array of variantdata type, and an event is raised in the application to say that data isready and available for this message. The application can then retrievethis data from the variant array.

This Reply Interpreter only runs if the application writer ‘wants’ thisinformation passed to the application; the application writer canconfigure the parser so that certain messages do not raise events in theapplication, or the event is only raised in the case of it beingexplicitly requested.

The data ‘type’ could be any of the following:

If the message parameter is in human readable ASCII format:

-   -   Integer    -   Long    -   Single Precision    -   Double Precision    -   ASCII String    -   Unicode String

If the message parameter has a binary format:

-   -   1 bit    -   2 bit unsigned Integer    -   3 bit signed or unsigned Integer    -   4 bit signed or unsigned Integer    -   5 bit signed or unsigned Integer    -   6 bit signed or unsigned Integer    -   7 bit signed or unsigned Integer    -   8 bit signed or unsigned Integer    -   16 bit signed or unsigned Integer    -   32 bit signed or unsigned Integer    -   64 bit signed or unsigned Integer    -   32 bit Floating Point (Single Precision)    -   64 bit Double (Double Precision)    -   ASCII String    -   Unicode String

These values are specified either as big or little endian.

The Reply Interpreter follows certain Reply Interpreter Rules 233.discussed below. For each parameter of each message, the DeviceDescription File defines the following:

-   -   Is there a delimiter between parameters (such as a ‘,’ used by a        GPS?)        -   If so, what is it? (regular expressions are allowed)        -   Is there a different character before the first parameter?            -   If so what is this? (regular expressions are allowed)        -   Is there a different character after the last parameter?            -   If so what is this? (regular expressions are allowed)    -   Is there a known place within the message that the parameter        starts?        -   If so, where is this?    -   Is the parameter a fixed length?        -   If so, how long?    -   Does the parameter end in a known format?        -   If so, what is this format? (regular expressions are            allowed)    -   Does the parameter end at the end of the message?    -   What data type is the parameter?    -   Is the type is one of the types where ‘endian’ matters?        -   Which ‘endian’ is the parameter?

The Device Description File 211 contains the rules for using the device.Broadly, this fits into four categories:

-   -   Connection type (e.g. IEEE 802.11b, RS-232) and associated        parameters    -   Messages that can be sent to the device    -   How to identify messages that can be received from the device    -   Parameters within those messages

The Device Description File lends itself to a hierachical structure suchas XML. A standard text file could also be used.

The connection type can be any of

-   -   RS-232    -   USB1.0, 1.1 or 2.0)    -   Firewire    -   TCP/IP    -   Bluetooth    -   AnyIEEE802.11 standard    -   Any future connection

An example first line is: ConnectionType=RS-232

Next would follow the relevant parameters. For an RS-232 device thiscould be: BaudRate=9600, DataBits=8, StopBits=1, Parity=“None”

For other connection types, parameters appropriate to those types wouldbe defined. The second section has a list of messages that can be sentto the device. Each of these messages has an associated number and name,so a couple might be:

TxMessage ID=1, name=“Reading”, message=“D[13]”

TxMessage ID=2, name=“Status”, message=“X[13]”

The foregoing describes the invention including preferred forms thereof.Alterations and modifications as will be obvious to those skilled in theart are intended to be incorporated in the scope hereof as defined inthe following claims.

1. A method of processing and storing information in a mobileinstrument, the method including: receiving metadata; storing themetadata in an information file in the mobile instrument; receivingimage information from a camera; storing the image information in anauxiliary file at an auxiliary file address in the mobile instrument;generating a pointer indicative of the auxiliary file address; andstoring the pointer in the information file.
 2. A method according toclaim 1 further including receiving further information; storing thefurther information in one or more further auxiliary files at one ormore further auxiliary file addresses; generating one or more furtherpointers each indicative of a respective further auxiliary file address;and storing the further pointer(s) in the information file. 3-5.(canceled)
 6. A method according to claim 1 wherein the metadataincludes spatial metadata, and the spatial metadata includes one or moreof: distance information, global position information, orientationinformation, and input information received from a human user. 7-9.(canceled)
 10. A method of transferring information stored in a mobileinstrument by the method of claim 1, the information including a firstinformation file containing metadata and a pointer indicative of a firstauxiliary file address; and a first auxiliary file containing imageinformation, the first auxiliary file being located at the firstauxiliary file address, the method including the steps of: storing themetadata in a second information file; storing the image information ina second auxiliary file at a second auxiliary file address; generating asecond pointer indicative of the second auxiliary file address; andstoring the second pointer in the second information file. 11-18.(canceled)
 19. A method of obtaining information including: acquiringimage information from a camera; acquiring input information from ahuman user; acquiring spatial metadata from a spatial sensor; andassociating the image information with the input information and thespatial metadata.
 20. A method according to claim 19 wherein the imageinformation is associated with the input information and the spatialmetadata by generating one or more pointers to the input information andthe spatial metadata, and storing the pointer with the imageinformation. 21-28. (canceled)
 29. A mobile instrument including: acamera; one or more spatial sensors; and a port able to be connected,when in use, to an external sensor from which the instrument may obtainfurther information.
 30. An instrument according to claim 29 wherein theone or more spatial sensors include one or more of: a distance meter, aglobal position sensor and an orientation sensor. 31-34. (canceled) 35.A mobile instrument according to claim 29 further including a processorwhich is configured to compile a file containing information from thecamera and/or the spatial sensor, wherein the processor is furtherconfigured to append to the file the further information obtained fromthe port. 36-37. (canceled)
 38. A method of operating a mobileinstrument, the instrument including two or more measuring devices, themeasuring devices including a camera and one or more spatial sensors:the method including asynchronously controlling the supply of power toat least two of the measuring devices.
 39. A mobile instrumentincluding: two or more measuring devices including a camera and one ormore spatial sensors; a first power switch operable to control power toone or more first ones of the measuring devices; a second power switchto control power to one or more second ones of the measuring devices;and a power controller capable of asynchronously operating the first andsecond power switches.
 40. A mobile instrument according to claim 39wherein the power controller is at least partially integrated with oneof the measuring devices. 41-42. (canceled)
 43. A mobile instrumentaccording to claim 39 wherein the power controller includes one or morepower control lines for controlling the power switches, a camera dataline coupled to the camera and one or more sensor data lines eachcoupled to a respective spatial sensor.
 44. (canceled)
 45. An instrumentaccording to claim 39 to wherein the one or more spatial sensors includeone or more of: a distance meter, a global position sensor and anorientation sensor. 46-47. (canceled)
 48. A viewing device for providingan image of a field of view, the device including a marker moduleconfigured to superimpose a marker on the image, the marker including aplurality of image elements including a first element, and a secondelement having visual content which contrasts with the first element.49. A device according to claim 48 further including a distance meterfor measuring the distance to a datum position indicated by the marker.50. A device according to claim 49 wherein the first and second elementsare adjacent, substantially straight, parallel lines.
 51. (canceled) 52.A device according to claim 48 wherein the marker includes four or morelines which radiate from a common central region and wherein the linesdo not intersect at the common central region, whereby the image can beviewed in the central region.
 53. (canceled)
 54. A device according toclaim 48 wherein the elements are arranged in a line in an alternatingpattern. 55-57. (canceled)
 58. A device according to claim 48 furtherincluding one or more of: a global position sensor; a tilt sensor forindicating the tilt of the device relative to a datum directionindicated by the marker; and an electronic display screen for displayingthe image superimposed with the marker. 59-60. (canceled)
 61. Aninstrument including two or more sensors; two or more identical genericparsers; and two or more description files, each containing descriptiondata describing an associated sensor, wherein each generic parser isconfigured to receive sensor information from a respective sensor anddescription data from a respective description file, parse the sensorinformation in accordance with the description data to generate parsedsensor information, and output the parsed sensor information.
 62. Aninstrument according to claim 61 wherein the generic parser examines thesensor information and determines if there is a valid message therein inaccordance with the description data.
 63. (canceled)
 64. An instrumentaccording to claim 61 further including a buffer arranged between eachgeneric parser and its respective sensor.
 65. (canceled)
 66. Aninstrument according to claim 61 further including two or more identicalreply interpreters, wherein each reply interpreter is configured tointerpret the parsed information in accordance with the descriptiondata.
 67. An instrument including two or more sensors; two or moreidentical request interpreters; and two or more description files, eachcontaining description data describing an associated sensor, whereineach request interpreter is configured to receive a request relating toa respective sensor, interpret the request in accordance with thedescription data to generate an interpreted request, and output theinterpreted request to its respective sensor. 68-78. (canceled)